Use this when you have completed some feature implementation and have written passing tests, and you are ready to create a PR.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: Finishing a Development Branch description: Use this when you have completed some feature implementation and have written passing tests, and you are ready to create a PR.
<required> *CRITICAL* Add the following steps to your Todo list using TodoWrite:- Use the Task tool to verify tests by using the project's test suite.
# Run project's test suite
bb test / npm test / cargo test / pytest / go test ./...
If tests fail:
Tests failing (<N> failures). Must fix before creating PR:
[Show failures]
Cannot proceed until tests pass.
-
Confirm that there is some formatting/lint/typechecking in the project. If NONE of these exist, ask me if there was something that you missed.
-
Use the Task tool to run any formatters and fix issues in a subagent.
# Clojure
bb fmt
# Node.js/JavaScript/TypeScript
ls package.json 2>/dev/null && jq -r '.scripts | keys[]' package.json | grep -E 'format|lint'
# Rust
ls rustfmt.toml .rustfmt.toml 2>/dev/null
# Python
ls .flake8 pyproject.toml setup.cfg 2>/dev/null
# Go
ls .golangci.yml .golangci.yaml 2>/dev/null
- Use the Task tool to run any linters and fix issues in a subagent.
# Clojure
bb lint
# Node.js - check package.json scripts
npm run lint # or: npm run lint:fix, npm run eslint
# Rust
cargo clippy --fix --allow-dirty --allow-staged
# Python
ruff check --fix .
# or: flake8 ., pylint .
# Go
golangci-lint run --fix
-
Use the Task tool to run type checking and fix issues in a subagent.
-
Use the code-reviewer subagent to do a self review. You do NOT have to follow the subagent's suggestions. This is merely a way to get a fresh pair of eyes on the code.
-
Confirm that you are not on the main branch. If you are, ask me before proceeding. NEVER push to main without permission.
-
Use
git addto stage the changes to files you edited for this feature. FollowCommit message rules:
- Never mention beads, bd issues in the commit message
- Never use bold formatting
- Never use emoji in the commit message
- Never mention Claude/AI/LLMS/Coding Agents in the commit message
- Do not list or mention files in the commit message (that is redundant, the commit itself has a list of files)
- Do not include other redundant or obvious information
- Use
git log -n 10to look at past 10 commits, follow a similar commit message style (number of lines, casing etc)
-
Push and create a PR.
# Push branch
git push -u origin <feature-branch>
# Create PR
gh pr create --title "<title>" --body "$(cat <<'EOF'
## Summary
<2-3 bullets of what changed>
## Test Plan
- [ ] <verification steps>
EOF
)"
- Make sure the PR branch CI succeeds. Skip if there are no checks/ci.
# Check if the PR CI succeeded
gh pr checks
# If it is still running, sleep and check again
sleep 60 && gh pr checks
If CI did not pass, examine why. If the CI did not start, this is likely due to merge conflicts; merge main, fix conflicts, and try again. <system-reminder>Do not move forward without a ci status unless you have checked for merge conflicts</system-reminder>
- Make changes as needed, push a new commit, and repeat the process. <system-reminder> It is critical that you fix any ci issues, EVEN IF YOU DID NOT CAUSE THEM. </system-reminder>
- Tell me: "I can automatically get review comments, just let me know when to do so." </required>
More by Ramblurr
View allAsync programming with channels, go blocks, and CSP in Clojure. Use when working with async operations, channel communication, pub/sub patterns, concurrent pipelines, or CSP-style coordination.
Reference for Guardrails library with Malli in Clojure. Use when working with `>defn`, `>defn-`, `>def`, `>fdef` macros, gspec syntax, or function validation. Triggers on guardrails imports, `com.fulcrologic.guardrails.malli`, function specs with `=>` operator, or questions about runtime validation in Clojure.
Ring Jetty adapter for running ring-compatible web servers in Clojure. Use when you are working with ring and jetty starting and need to know to configure or interact with a ring jetty
High-performance JSON and CSV parsing library for Clojure. Use when working with JSON or CSV data and need fast in Clojure, efficient parsing/writing with a clojure.data.json/clojure.data.csv compatible API.
